11 #ifndef __TARGETCONDITIONALS__
12 #include "TargetConditionals.h"
21# define MRB_BEGIN_DECL extern "C" {
22# define MRB_END_DECL }
26# define MRB_BEGIN_DECL
34typedef SSIZE_T ssize_t;
43#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L
44# define mrb_noreturn _Noreturn
45#elif defined __GNUC__ && !defined __STRICT_ANSI__
46# define mrb_noreturn __attribute__((noreturn))
48# define mrb_noreturn __declspec(noreturn)
54#if defined __GNUC__ && !defined __STRICT_ANSI__
55# define mrb_deprecated __attribute__((deprecated))
57# define mrb_deprecated __declspec(deprecated)
59# define mrb_deprecated
63#if defined(__GNUC__) || defined(__clang__)
64# define mrb_likely(x) __builtin_expect(!!(x), 1)
65# define mrb_unlikely(x) __builtin_expect(!!(x), 0)
67# define mrb_likely(x) (x)
68# define mrb_unlikely(x) (x)
73# if defined(__cplusplus) && __cplusplus >= 201103L
75# define mrb_alignas(n) alignas(n)
76# elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
78# define mrb_alignas(n) _Alignas(n)
79# elif defined(_MSC_VER) || defined(__INTEL_COMPILER)
81# define mrb_alignas(n) __declspec(align(n))
82# elif defined(__GNUC__) || defined(__clang__)
84# define mrb_alignas(n) __attribute__((aligned(n)))
87# define mrb_alignas(n)
92#if defined _MSC_VER && _MSC_VER < 1900
94# define inline __inline
97#define MRB_INLINE static inline
101#if defined(MRB_BUILD_AS_DLL)
102#if defined(MRB_CORE) || defined(MRB_LIB)
103# define MRB_API __declspec(dllexport)
105# define MRB_API __declspec(dllimport)
108# define MRB_API extern
113#if defined(__MINGW32__) || defined(__MINGW64__)
115# if defined(__MINGW64_VERSION_MAJOR)
116# define MRB_MINGW64_VERSION (__MINGW64_VERSION_MAJOR * 1000 + __MINGW64_VERSION_MINOR)
117# elif defined(__MINGW32_MAJOR_VERSION)
118# define MRB_MINGW32_VERSION (__MINGW32_MAJOR_VERSION * 1000 + __MINGW32_MINOR_VERSION)
120# if defined(__MINGW32__) && !defined(__MINGW64__)
121# define MRB_MINGW32_LEGACY
#define MRB_END_DECL
End declarations in C mode.
Definition common.h:28
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition common.h:26